﻿/*
 * Description: 字符串常用操作函数声明
 */

#ifndef BASIC_STRING_PROC_H
#define BASIC_STRING_PROC_H

#include <string>
#include <vector>
#include <list>

namespace StringProc {
    /**
    * @brief 多字节转宽字节
    * @param localStr 需要转换的多字节
    * @return 宽字节
    */
    std::wstring StringToWString(const std::string& localStr);

    /**
    * @brief 宽字节转多字节
    * @param localStr 需要转换的宽字节
    * @return 多字节
    */
    std::string WStringToString(const std::wstring& localStr);

    /**
    * @brief 多字节转UTF8宽字节
    * @param localStr 需要转换的多字节
    * @return 宽字节
    */
    std::wstring StringToWStringByUTF8(const std::string& localStr);

    /**
    * @brief 宽字节转UTF8多字节
    * @param localStr 需要转换的宽字节
    * @return 多字节
    */
    std::string WStringToStringByUTF8(const std::wstring& localStr);

    /**
    * @brief 去掉字符串首尾的空格
    * @param localStr 需要处理的字符串
    * @return 处理后的字符串
    */
    std::string StringTrim(const std::string& localStr);

    /**
    * @brief 去掉字符串首尾的空格
    * @param localStr 需要处理的字符串
    * @return 处理后的字符串
    */
    std::wstring WStringTrim(const std::wstring& localStr);
} // namespace StringProc

#endif
